package com.example.crowdfunding.service.api;

import com.example.crowdfunding.entity.Role;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * The interface Role service.
 */
public interface RoleService {

    /**
     * Gets page info.
     *
     * @param pageNum  the page num
     * @param pageSize the page size
     * @param keyword  the keyword
     * @return the page info
     */
    PageInfo<Role> getPageInfo(Integer pageNum, Integer pageSize, String keyword);

    /**
     * Add role.
     *
     * @param role the role
     */
    void addRole(Role role);

    /**
     * Update role.
     *
     * @param role the role
     */
    void updateRole(Role role);

    /**
     * Remove roles by ids.
     *
     * @param roleIdList the role ids
     */
    void removeRolesByIds(List<Integer> roleIdList);

    List<Role> getAssignedRole(Integer adminId);

    List<Role> getUnassignedRole(Integer adminId);

}
